# Data messages

This topic describes the structure and content of the data messages produced by the Confluent Cloud target endpoint.

Data message

| Field | Type | Description |
| --- | --- | --- |
| schema (name) | String | The name of the source database schema containing the replicated source table(s). |
| table (name) | String | The name of the source table. |
| headers | Structure | Information about the current record. |
| operation (Operation) | Enum | The operation type.<br><br>Full Load - Initial load of the source data to the target topic(s)<br><br>REFRESH – Insertion of a record to the target during Full Load<br><br>CDC - Applies source table changes to the relevant topic<br><br>INSERT – Insertion of new target record<br><br>UPDATE – Update of an existing target record<br><br>DELETE – Deletion of a target record |
| changeSequence (Change Sequence) | String | A monotonically increasing change sequencer that is common to all change tables of a task.<br><br>Use this field to order the records in chronological order.<br><br>Applicable to CDC operations only. |
| timestamp (Timestamp) | String | The original change UTC timestamp.<br><br>Applicable to CDC operations only. |
| transactionId (Transaction ID) | String | The ID of the transaction that the change record belongs to.<br><br>Use this field to gather all changes of a specific transaction.<br><br>Applicable to CDC operations only. |
| changeMask<br>(Change Mask) | String | Indicates which data columns were changed in the source table.<br><br>The change mask is a string of hexadecimal digits, representing a bitmask of data columns in little-endian order. The bit position in the change mask is based on the ordinal of the column in the metadata message of that table.<br><br>This means that if there are 10 data columns, they occupy bits 0 to 9 in the bitmask.<br><br>If UPDATE mask is 0B hexadecimal, which is 1011 binary – it means that the columns at ordinals 1, 2 and 4 were changed.<br><br>The following describes the bit semantics:<br><br><ul> <li>For INSERT records, all the inserted columns have the associated bits set.</li> <li>For DELETE records, only primary-key (or unique index) columns have the associated bits set. This allows an applier to construct a DELETE statement without having to find the primary key fields from another source.</li> <li>For UPDATE records, each column with a changed value will have the associated bit set.</li> </ul><br><br>Information note<br><br>LOB columns are not included in the changeMask bit. |
| columnMask (Column Mask) | String | Indicates which data columns are present in the message. Usually, this will include all of the table columns.<br><br>Information note<br><br>When replicating from an Oracle source without full supplemental logging, some columns might not be present in the data, since they could not be replicated.<br><br>The column mask is a string of hexadecimal digits, representing a bitmask of data columns in little-endian order. The bit position in the column mask is based on the ordinal of the column in the metadata message for that table.<br><br>This allows the applier to distinguish a null value that is the *actual* value of the column, from a null value that represents a column which could not be replicated from the source database. |
| transactionEventCounter (Transaction Event Counter) | Long | The sequence number of the current operation in the transaction.<br><br>This can be used to determine the order of operations within a transaction. |
| transactionLastEvent (Transaction Last Event) | Boolean | "True" indicates that it is the final record in the transaction whereas "False" indicates that not all of the records have been processed. |
| data | Structure | The data of the table record |
| {columns} |  | The column names and values in the current record. |
| beforeData | Structure | The data of the table record, before the change |
| {columns} |  | The column names and values, before the change.<br><br>Applicable to UPDATE operation. |